package com.hc.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 博客查询条件
 *
 * @author 梁云亮
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BlogQueryVO {

    /**
     * 标题
     */
    @ApiModelProperty(name = "title", value = "标题", dataType = "String")
    private String title;

    /**
     * 关键字，优化搜索
     */
    @ApiModelProperty(name = "keywords", value = "关键字，搜索内容", required = true, dataType = "String")
    private String keywords;

    /**
     * 文件格式：markdown-1
     */
    @ApiModelProperty(name = "format", value = "文件格式：markdown-1", dataType = "Integer")
    private Integer format;

    /**
     * 类别编号
     */
    @ApiModelProperty(name = "categoryId", value = "类别编号", dataType = "Integer")
    private Integer categoryId;

    /**
     * 是否置顶
     */
    @ApiModelProperty(name = "isTop", value = "是否置顶", dataType = "Boolean")
    private Boolean isTop;

    /**
     * 是否开启赞赏
     */
    @ApiModelProperty(name = "isAdmire", value = "是否开启赞赏", dataType = "Boolean")
    private Boolean isAdmire;

    /**
     * 是否开启版权声明
     */
    @ApiModelProperty(name = "isCopyright", value = "是否开启版权声明", dataType = "Boolean")
    private Boolean isCopyright;

    /**
     * 是否开启评论
     */
    @ApiModelProperty(name = "isComment", value = "是否开启评论", dataType = "Boolean")
    private Boolean isComment;

    /**
     * 是否开启推荐
     */
    @ApiModelProperty(name = "isRecommend", value = "是否开启推荐", dataType = "Boolean")
    private Boolean isRecommend;

    /**
     * 来源：1原创、2转载、3翻译
     */
    @ApiModelProperty(name = "source", value = "来源：1原创、2转载、3翻译", dataType = "Integer")
    private Integer source;

    /**
     * 发布类型：1公开、2私密、3粉丝可见、4VIP可见
     */
    @ApiModelProperty(name = "pubtype", value = "发布类型：1公开、2私密、3粉丝可见、4VIP可见", dataType = "Integer")
    private Integer pubtype;

    /**
     * 用户编号
     */
    @ApiModelProperty(name = "userId", value = "用户编号", dataType = "Integer")
    private Integer userId;

    /**
     * 状态：1草稿、2发布、3审核中、4审核通过、5删除
     */
    @ApiModelProperty(name = "status", value = "状态：1草稿、2发布、3审核中、4审核通过、5删除", dataType = "Integer")
    private Integer status;

    /**
     * 开始时间
     */
    @ApiModelProperty(name = "startTime", value = "开始时间", dataType = "LocalDateTime")
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    @ApiModelProperty(name = "endTime", value = "结束时间", dataType = "LocalDateTime")
    private LocalDateTime endTime;
}
